package info.touret.winecellar.producer.client;

import info.touret.winecellar.producer.shared.ProducerProxy;

import java.util.List;

import com.google.web.bindery.requestfactory.shared.InstanceRequest;
import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.Service;


@Service(info.touret.winecellar.producer.server.domain.Producer.class)
public interface ProducerRequest extends RequestContext {
	Request<List<ProducerProxy>> findAllProducers();

	InstanceRequest<ProducerProxy, Void> persist();

	InstanceRequest<ProducerProxy, Void> remove();
	
	InstanceRequest<ProducerProxy, Void> update();
	
	Request<List<ProducerProxy>> findProducersByCriteria(String criteria) ;
	
	Request<ProducerProxy> findProducer(Long id) ;
}
